/**
 * @filename:StkotheroutService Feb 5, 2025
 * @project Wonder Vue Admin Api  1.1.0
 * Copyright(c) 2022 Wonder Co. Ltd. 
 * All right reserved. 
 */
package com.wonder.app.service;
import com.wonder.app.domain.StkApply;
import com.wonder.app.domain.StkApplyDetail;
import com.wonder.app.domain.Stkotherout;
import com.wonder.app.request.StkotheroutRequest;
import com.wonder.common.common.AjaxResult;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;
import java.util.Map;
/**   
 * @Description:TODO(其他出库单服务层)
 * @version: 1.1.0
 * @author: Wonder
 * 
 */
public interface StkotheroutService extends IService<Stkotherout> {

    
    /**
     * 验证其他出库单信息
     * 
     * @param stkotherout
     * @param type
     * @return 结果
     */
    public String validate(Stkotherout stkotherout,String type);   
   
	
	 /**
	 * Description:其他出库单分页返回
	 * @param request//检索条件
	 * @param page//分页参数
	 * @return IPage<Stkotherout>   //分页记录
	 */
    public IPage<Stkotherout> selectList(StkotheroutRequest request, Page<Stkotherout> page);

	/**
	 * 详情Stkotherout
	 * @param map
	 * @return
	 */
	Map<String, Object> getStkotheroutDetail(Map<String, Object> map) throws Exception;

	/**
	 * 其他出库单列表手机端
	 * @param map
	 * @return
	 */
    Map<String, Object> getOtherOutList(Map<String, Object> map);

	/**
	 * 其他出库单审核
	 * @param user_id
	 * @param userName
	 * @param map
	 * @return
	 */
	boolean auditOtherOut(Long user_id, String userName, Map<String, Object> map);

	/**
	 * 其他出库单明细(手机端)
	 * @param map
	 * @return
	 */
    Map<String, Object> getOtheroutDetail(Map<String, Object> map) throws Exception;

    Map<String, Object> getInventoryByMaterial(Long user_id,Map<String, Object> map)throws Exception;

    Boolean createOtherOut(Long user_id, String user_name, StkApply stkApply,Map<String,Object> detail)throws Exception;

}
